package cn.office.param;

import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import org.apache.velocity.VelocityContext;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;


/**
 * @author
 * Description:
 * 生成PDF入参
 * Date:
 */
@Data
public class PdfGenerateParam implements Serializable {
    private static final long serialVersionUID = 6492680671126465365L;

    /**
     * 填充VM模版的数据
     */
    @NotNull
    private VelocityContext velocityContext;

    /**
     * 文件名称
     */
    //@NotEmpty(message = "文件名称不能为空")
    private String fileName;

    /**
     * VM模版在template文件夹下的名称
     * 如在template的子文件夹下面,需要带上子文件夹的名称
     */
    @NotEmpty(message = "模版名称不能为空")
    private String templateName;

    public String getTemplateName() {
        if(templateName!=null&&!templateName.contains("template/")){
            if(templateName.startsWith("/")){
                templateName = "template" + templateName;
            }else {
                templateName = "template/" +templateName;
            }
        }
        return templateName;
    }

    public String getFileName() {
        return StringUtils.isNotEmpty(fileName) ? (fileName.endsWith(".pdf") ? fileName : fileName + ".pdf") : "";
    }

}
